package tour.spring.bc.dao;

import java.util.Collection;
import java.util.List;

public interface AbstractDAO<E> {

	void save(E entity);

	E load(long id);

	void delete(E entity);

	public List<E> loadByNamedParams(final String queryString,
			String paramNames[], Object values[]);

	public List<E> loadByNamedParam(final String queryString, String paramName,
			Object value);

	public List<E> loadByNamedParam(String queryString, String paramName,
			Collection<?> values);

	public List<E> find(final String queryString, Object[] values);

	public List<E> find(final String queryString, Object value);

	public List<E> loadAll();

}
